From 355213fabc8c688d82fb43456ec8b52c4c5587ae Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Wed, 18 Oct 2006 17:39:52 +0100 Subject: [PATCH] [HVM] E820 table misreports the ACPI NVS/Data information which triggers a complaint from Windows HCT. Signed-off-by: Xin Li Signed-off-by: Winston Wang --- tools/libxc/xc_hvm_build.c | 35 ++++++----------------------------- 1 file changed, 6 insertions(+), 29 deletions(-) diff --git a/tools/libxc/xc_hvm_build.c b/tools/libxc/xc_hvm_build.c index dce154d7b7..31fd2577a7 100644 --- a/tools/libxc/xc_hvm_build.c +++ b/tools/libxc/xc_hvm_build.c @@ -17,7 +17,6 @@ #include #define HVM_LOADER_ENTR_ADDR 0x00100000 - static int parseelfimage( char *elfbase, unsigned long elfsize, struct domain_setup_info *dsi); @@ -82,15 +81,16 @@ static void build_e820map(void *e820_page, unsigned long long mem_size) e820entry[nr_map].type = E820_IO; nr_map++; + e820entry[nr_map].addr = 0xEA000; + e820entry[nr_map].size = 0x01000; + e820entry[nr_map].type = E820_ACPI; + nr_map++; + e820entry[nr_map].addr = 0xF0000; e820entry[nr_map].size = 0x10000; e820entry[nr_map].type = E820_RESERVED; nr_map++; -/* ACPI data: 10 pages. */ -#define ACPI_DATA_PAGES 10 -/* ACPI NVS: 3 pages. */ -#define ACPI_NVS_PAGES 3 /* buffered io page. */ #define BUFFERED_IO_PAGES 1 /* xenstore page. */ @@ -102,9 +102,7 @@ static void build_e820map(void *e820_page, unsigned long long mem_size) /* Most of the ram goes here */ e820entry[nr_map].addr = 0x100000; e820entry[nr_map].size = mem_size - 0x100000 - PAGE_SIZE * - (ACPI_DATA_PAGES + - ACPI_NVS_PAGES + - BUFFERED_IO_PAGES + + (BUFFERED_IO_PAGES + XENSTORE_PAGES + SHARED_IO_PAGES); e820entry[nr_map].type = E820_RAM; @@ -112,27 +110,6 @@ static void build_e820map(void *e820_page, unsigned long long mem_size) /* Statically allocated special pages */ - /* For ACPI data */ - e820entry[nr_map].addr = mem_size - PAGE_SIZE * - (ACPI_DATA_PAGES + - ACPI_NVS_PAGES + - BUFFERED_IO_PAGES + - XENSTORE_PAGES + - SHARED_IO_PAGES); - e820entry[nr_map].size = PAGE_SIZE * ACPI_DATA_PAGES; - e820entry[nr_map].type = E820_ACPI; - nr_map++; - - /* For ACPI NVS */ - e820entry[nr_map].addr = mem_size - PAGE_SIZE * - (ACPI_NVS_PAGES + - BUFFERED_IO_PAGES + - XENSTORE_PAGES + - SHARED_IO_PAGES); - e820entry[nr_map].size = PAGE_SIZE * ACPI_NVS_PAGES; - e820entry[nr_map].type = E820_NVS; - nr_map++; - /* For buffered IO requests */ e820entry[nr_map].addr = mem_size - PAGE_SIZE * (BUFFERED_IO_PAGES + -- 2.30.2